﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text;
using System.Data.SqlClient;
using System.Data;
using Entidades.Karaoke;
using Negocio.Karaoke;


public partial class Karaoke_Gestion_frmActivarServicio : System.Web.UI.Page
{

    DataTable dt = new DataTable();



    public void ConsultarCancion()
    {

        ViewState["idioma"] = dwlIdioma.SelectedValue;
        ViewState["genero"] = dwlGenero.SelectedValue;
        ViewState["cantante"] = txtCantante.Text;
        ViewState["titulo"] = txtTitulo.Text;
        string val = (string)ViewState["idioma"];

        List<KarConsultarCancion> lista = KarConsultarCancionBLL.
                                    ListarConsultarCancionesFiltros(Int32.Parse((string)ViewState["idioma"]),
                                                                    Int32.Parse((string)ViewState["genero"]),
                                                                    (string)ViewState["cantante"],
                                                                    (string)ViewState["titulo"], 
                                                                    "0");
        grvCanciones.DataSource = lista;
        grvCanciones.DataBind();

    }

    public void SeleccionarCancion()
    {
        StringBuilder str = new StringBuilder();
        DataTable dtCancionero = new DataTable();

        for (int i = 0; i < grvCanciones.Columns.Count - 1; i++)
        {
            dt.Columns.Add(grvCanciones.HeaderRow.Cells[i].Text);
        }
        foreach (GridViewRow row in grvCanciones.Rows)
        {
            bool isChecked = ((CheckBox)row.FindControl("chkSelect")).Checked;
            if (isChecked)
            {
                DataRow dr;
                dr = dt.NewRow();
                for (int i = 0; i < row.Cells.Count - 1; i++)
                {
                    dr[i] = row.Cells[i].Text;
                }

                dt.Rows.Add(dr);
            }
        }

        dtCancionero = dt;
        Session.Add("ListaCancionesSeleccionados", dt);
        Server.Transfer((string)ViewState["pagina"]);
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            string nombre = Request["pag"];
            ViewState["pagina"] = nombre;

            ViewState["idioma"] = "0";
            ViewState["genero"] = "0";
            ViewState["cantante"] = "";
            ViewState["titulo"] = "";
            CargarIdioma();
            CargarGenero();
            ConsultarCancion();
        }
    }

    protected void btnConsultar_Click(object sender, EventArgs e)
    {
        ConsultarCancion();
    }

    protected void grvCanciones_SelectedIndexChanged(object sender, EventArgs e)
    {

    }

    protected void btnSeleccionar_Click(object sender, EventArgs e)
    {
        SeleccionarCancion();
    }

    protected void grvCanciones_SelectedIndexChanged1(object sender, EventArgs e)
    {

    }


    public void CargarIdioma()
    {
        List<KarIdioma> lista = KarIdiomaBLL.ListarIdiomaActCancion();
        dwlIdioma.DataSource = lista;
        dwlIdioma.DataTextField = "idioma";
        dwlIdioma.DataValueField = "idIdioma";
        dwlIdioma.DataBind();
    }

    public void CargarGenero()
    {
        List<KarCategoria> lista = KarCategoriaBLL.ListarCategoriaActCancion();
        dwlGenero.DataSource = lista;
        dwlGenero.DataTextField = "categoria";
        dwlGenero.DataValueField = "iDCategoria";
        dwlGenero.DataBind();
    }

    protected void Nombre_GridView_PageIndexChanging(object sender, System.Web.UI.WebControls.GridViewPageEventArgs e)
    {
        GridView grilla = (GridView)sender;
        var _with1 = grilla;
        _with1.PageIndex = e.NewPageIndex;

        List<KarConsultarCancion> lista = KarConsultarCancionBLL.
                                    ListarConsultarCancionesFiltros(Int32.Parse((string)ViewState["idioma"]),
                                                                    Int32.Parse((string)ViewState["genero"]),
                                                                    (string)ViewState["cantante"],
                                                                    (string)ViewState["titulo"],
                                                                    "0");
        grvCanciones.DataSource = lista;
       

        grvCanciones.DataBind();

    }

}